<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Bag (Apache Commons Collections 4.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Bag (Apache Commons Collections 4.0 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Bag.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/commons/collections4/ArrayStack.html" title="class in org.apache.commons.collections4"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/commons/collections4/BagUtils.html" title="class in org.apache.commons.collections4"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/commons/collections4/Bag.html" target="_top">Frames</a></li>
<li><a href="Bag.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.collections4</div>
<h2 title="Interface Bag" class="title">Interface Bag&lt;E&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>E</code> - the type held in the bag</dd></dl>
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;E&gt;</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/commons/collections4/SortedBag.html" title="interface in org.apache.commons.collections4">SortedBag</a>&lt;E&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/commons/collections4/bag/AbstractBagDecorator.html" title="class in org.apache.commons.collections4.bag">AbstractBagDecorator</a>, <a href="../../../../org/apache/commons/collections4/bag/AbstractMapBag.html" title="class in org.apache.commons.collections4.bag">AbstractMapBag</a>, <a href="../../../../org/apache/commons/collections4/bag/AbstractSortedBagDecorator.html" title="class in org.apache.commons.collections4.bag">AbstractSortedBagDecorator</a>, <a href="../../../../org/apache/commons/collections4/bag/CollectionBag.html" title="class in org.apache.commons.collections4.bag">CollectionBag</a>, <a href="../../../../org/apache/commons/collections4/bag/CollectionSortedBag.html" title="class in org.apache.commons.collections4.bag">CollectionSortedBag</a>, <a href="../../../../org/apache/commons/collections4/bag/HashBag.html" title="class in org.apache.commons.collections4.bag">HashBag</a>, <a href="../../../../org/apache/commons/collections4/bag/PredicatedBag.html" title="class in org.apache.commons.collections4.bag">PredicatedBag</a>, <a href="../../../../org/apache/commons/collections4/bag/PredicatedSortedBag.html" title="class in org.apache.commons.collections4.bag">PredicatedSortedBag</a>, <a href="../../../../org/apache/commons/collections4/bag/SynchronizedBag.html" title="class in org.apache.commons.collections4.bag">SynchronizedBag</a>, <a href="../../../../org/apache/commons/collections4/bag/SynchronizedSortedBag.html" title="class in org.apache.commons.collections4.bag">SynchronizedSortedBag</a>, <a href="../../../../org/apache/commons/collections4/bag/TransformedBag.html" title="class in org.apache.commons.collections4.bag">TransformedBag</a>, <a href="../../../../org/apache/commons/collections4/bag/TransformedSortedBag.html" title="class in org.apache.commons.collections4.bag">TransformedSortedBag</a>, <a href="../../../../org/apache/commons/collections4/bag/TreeBag.html" title="class in org.apache.commons.collections4.bag">TreeBag</a>, <a href="../../../../org/apache/commons/collections4/bag/UnmodifiableBag.html" title="class in org.apache.commons.collections4.bag">UnmodifiableBag</a>, <a href="../../../../org/apache/commons/collections4/bag/UnmodifiableSortedBag.html" title="class in org.apache.commons.collections4.bag">UnmodifiableSortedBag</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">Bag&lt;E&gt;</span>
extends <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;</pre>
<div class="block">Defines a collection that counts the number of times an object appears in
 the collection.
 <p>
 Suppose you have a Bag that contains <code>{a, a, b, c}</code>.
 Calling <a href="../../../../org/apache/commons/collections4/Bag.html#getCount(java.lang.Object)"><code>getCount(Object)</code></a> on <code>a</code> would return 2, while
 calling <a href="../../../../org/apache/commons/collections4/Bag.html#uniqueSet()"><code>uniqueSet()</code></a> would return <code>{a, b, c}</code>.
 <p>
 <i>NOTE: This interface violates the <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util"><code>Collection</code></a> contract.</i>
 The behavior specified in many of these methods is <i>not</i> the same
 as the behavior specified by <code>Collection</code>.
 The noncompliant methods are clearly marked with "(Violation)".
 Exercise caution when using a bag as a <code>Collection</code>.
 <p>
 This violation resulted from the original specification of this interface.
 In an ideal world, the interface would be changed to fix the problems, however
 it has been decided to maintain backwards compatibility instead.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id: Bag.java 1477779 2013-04-30 18:55:24Z tn $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#add(E)">add</a></strong>(<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&nbsp;object)</code>
<div class="block"><i>(Violation)</i>
 Adds one copy of the specified object to the Bag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#add(E, int)">add</a></strong>(<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&nbsp;object,
   int&nbsp;nCopies)</code>
<div class="block">Adds <code>nCopies</code> copies of the specified object to the Bag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#containsAll(java.util.Collection)">containsAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;coll)</code>
<div class="block"><i>(Violation)</i>
 Returns <code>true</code> if the bag contains all elements in
 the given collection, respecting cardinality.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#getCount(java.lang.Object)">getCount</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</code>
<div class="block">Returns the number of occurrences (cardinality) of the given
 object currently in the bag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#iterator()">iterator</a></strong>()</code>
<div class="block">Returns an <a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util"><code>Iterator</code></a> over the entire set of members,
 including copies due to cardinality.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#remove(java.lang.Object)">remove</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</code>
<div class="block"><i>(Violation)</i>
 Removes all occurrences of the given object from the bag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#remove(java.lang.Object, int)">remove</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object,
      int&nbsp;nCopies)</code>
<div class="block">Removes <code>nCopies</code> copies of the specified object from the Bag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#removeAll(java.util.Collection)">removeAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;coll)</code>
<div class="block"><i>(Violation)</i>
 Remove all elements represented in the given collection,
 respecting cardinality.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#retainAll(java.util.Collection)">retainAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;coll)</code>
<div class="block"><i>(Violation)</i>
 Remove any members of the bag that are not in the given
 collection, respecting cardinality.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#size()">size</a></strong>()</code>
<div class="block">Returns the total number of items in the bag across all types.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/commons/collections4/Bag.html#uniqueSet()">uniqueSet</a></strong>()</code>
<div class="block">Returns a <a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><code>Set</code></a> of unique elements in the Bag.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.util.Collection">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;java.util.<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a></h3>
<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#addAll(java.util.Collection)" title="class or interface in java.util">addAll</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#clear()" title="class or interface in java.util">clear</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#contains(java.lang.Object)" title="class or interface in java.util">contains</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.util">equals</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#hashCode()" title="class or interface in java.util">hashCode</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#isEmpty()" title="class or interface in java.util">isEmpty</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#toArray()" title="class or interface in java.util">toArray</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#toArray(T[])" title="class or interface in java.util">toArray</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getCount(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCount</h4>
<pre>int&nbsp;getCount(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
<div class="block">Returns the number of occurrences (cardinality) of the given
 object currently in the bag. If the object does not exist in the
 bag, return 0.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the object to search for</dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of occurrences of the object, zero if not found</dd></dl>
</li>
</ul>
<a name="add(java.lang.Object)">
<!--   -->
</a><a name="add(E)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>boolean&nbsp;add(<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&nbsp;object)</pre>
<div class="block"><i>(Violation)</i>
 Adds one copy of the specified object to the Bag.
 <p>
 If the object is already in the <a href="../../../../org/apache/commons/collections4/Bag.html#uniqueSet()"><code>uniqueSet()</code></a> then increment its
 count as reported by <a href="../../../../org/apache/commons/collections4/Bag.html#getCount(java.lang.Object)"><code>getCount(Object)</code></a>. Otherwise add it to the
 <a href="../../../../org/apache/commons/collections4/Bag.html#uniqueSet()"><code>uniqueSet()</code></a> and report its count as 1.
 <p>
 Since this method always increases the size of the bag,
 according to the <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#add(E)" title="class or interface in java.util"><code>Collection.add(Object)</code></a> contract, it
 should always return <code>true</code>.  Since it sometimes returns
 <code>false</code>, this method violates the contract.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#add(E)" title="class or interface in java.util">add</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the object to add</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the object was not already in the <code>uniqueSet</code></dd></dl>
</li>
</ul>
<a name="add(java.lang.Object,int)">
<!--   -->
</a><a name="add(E, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>boolean&nbsp;add(<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&nbsp;object,
          int&nbsp;nCopies)</pre>
<div class="block">Adds <code>nCopies</code> copies of the specified object to the Bag.
 <p>
 If the object is already in the <a href="../../../../org/apache/commons/collections4/Bag.html#uniqueSet()"><code>uniqueSet()</code></a> then increment its
 count as reported by <a href="../../../../org/apache/commons/collections4/Bag.html#getCount(java.lang.Object)"><code>getCount(Object)</code></a>. Otherwise add it to the
 <a href="../../../../org/apache/commons/collections4/Bag.html#uniqueSet()"><code>uniqueSet()</code></a> and report its count as <code>nCopies</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the object to add</dd><dd><code>nCopies</code> - the number of copies to add</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the object was not already in the <code>uniqueSet</code></dd></dl>
</li>
</ul>
<a name="remove(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>boolean&nbsp;remove(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
<div class="block"><i>(Violation)</i>
 Removes all occurrences of the given object from the bag.
 <p>
 This will also remove the object from the <a href="../../../../org/apache/commons/collections4/Bag.html#uniqueSet()"><code>uniqueSet()</code></a>.
 <p>
 According to the <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#remove(java.lang.Object)" title="class or interface in java.util"><code>Collection.remove(Object)</code></a> method,
 this method should only remove the <i>first</i> occurrence of the
 given object, not <i>all</i> occurrences.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#remove(java.lang.Object)" title="class or interface in java.util">remove</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the object to remove</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if this call changed the collection</dd></dl>
</li>
</ul>
<a name="remove(java.lang.Object, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>boolean&nbsp;remove(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object,
             int&nbsp;nCopies)</pre>
<div class="block">Removes <code>nCopies</code> copies of the specified object from the Bag.
 <p>
 If the number of copies to remove is greater than the actual number of
 copies in the Bag, no error is thrown.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the object to remove</dd><dd><code>nCopies</code> - the number of copies to remove</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if this call changed the collection</dd></dl>
</li>
</ul>
<a name="uniqueSet()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uniqueSet</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;&nbsp;uniqueSet()</pre>
<div class="block">Returns a <a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><code>Set</code></a> of unique elements in the Bag.
 <p>
 Uniqueness constraints are the same as those in <a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><code>Set</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the Set of unique Bag elements</dd></dl>
</li>
</ul>
<a name="size()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>int&nbsp;size()</pre>
<div class="block">Returns the total number of items in the bag across all types.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#size()" title="class or interface in java.util">size</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the total size of the Bag</dd></dl>
</li>
</ul>
<a name="containsAll(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsAll</h4>
<pre>boolean&nbsp;containsAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;coll)</pre>
<div class="block"><i>(Violation)</i>
 Returns <code>true</code> if the bag contains all elements in
 the given collection, respecting cardinality.  That is, if the
 given collection <code>coll</code> contains <code>n</code> copies
 of a given object, calling <a href="../../../../org/apache/commons/collections4/Bag.html#getCount(java.lang.Object)"><code>getCount(Object)</code></a> on that object must
 be <code>&gt;= n</code> for all <code>n</code> in <code>coll</code>.
 <p>
 The <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#containsAll(java.util.Collection)" title="class or interface in java.util"><code>Collection.containsAll(Collection)</code></a> method specifies
 that cardinality should <i>not</i> be respected; this method should
 return true if the bag contains at least one of every object contained
 in the given collection.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#containsAll(java.util.Collection)" title="class or interface in java.util">containsAll</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>coll</code> - the collection to check against</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the Bag contains all the collection</dd></dl>
</li>
</ul>
<a name="removeAll(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAll</h4>
<pre>boolean&nbsp;removeAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;coll)</pre>
<div class="block"><i>(Violation)</i>
 Remove all elements represented in the given collection,
 respecting cardinality.  That is, if the given collection
 <code>coll</code> contains <code>n</code> copies of a given object,
 the bag will have <code>n</code> fewer copies, assuming the bag
 had at least <code>n</code> copies to begin with.

 <p>The <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#removeAll(java.util.Collection)" title="class or interface in java.util"><code>Collection.removeAll(Collection)</code></a> method specifies
 that cardinality should <i>not</i> be respected; this method should
 remove <i>all</i> occurrences of every object contained in the
 given collection.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#removeAll(java.util.Collection)" title="class or interface in java.util">removeAll</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>coll</code> - the collection to remove</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if this call changed the collection</dd></dl>
</li>
</ul>
<a name="retainAll(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retainAll</h4>
<pre>boolean&nbsp;retainAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;?&gt;&nbsp;coll)</pre>
<div class="block"><i>(Violation)</i>
 Remove any members of the bag that are not in the given
 collection, respecting cardinality.  That is, if the given
 collection <code>coll</code> contains <code>n</code> copies of a
 given object and the bag has <code>m &gt; n</code> copies, then
 delete <code>m - n</code> copies from the bag.  In addition, if
 <code>e</code> is an object in the bag but
 <code>!coll.contains(e)</code>, then remove <code>e</code> and any
 of its copies.

 <p>The <a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#retainAll(java.util.Collection)" title="class or interface in java.util"><code>Collection.retainAll(Collection)</code></a> method specifies
 that cardinality should <i>not</i> be respected; this method should
 keep <i>all</i> occurrences of every object contained in the
 given collection.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#retainAll(java.util.Collection)" title="class or interface in java.util">retainAll</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>coll</code> - the collection to retain</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if this call changed the collection</dd></dl>
</li>
</ul>
<a name="iterator()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>iterator</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;&nbsp;iterator()</pre>
<div class="block">Returns an <a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util"><code>Iterator</code></a> over the entire set of members,
 including copies due to cardinality. This iterator is fail-fast
 and will not tolerate concurrent modifications.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true#iterator()" title="class or interface in java.util">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true#iterator()" title="class or interface in java.lang">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/commons/collections4/Bag.html" title="type parameter in Bag">E</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>iterator over all elements in the Bag</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Bag.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/commons/collections4/ArrayStack.html" title="class in org.apache.commons.collections4"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/commons/collections4/BagUtils.html" title="class in org.apache.commons.collections4"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/commons/collections4/Bag.html" target="_top">Frames</a></li>
<li><a href="Bag.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
